package com.lemon.file.domain;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.lemon.common.core.annotation.Excel;
import com.lemon.common.core.base.BaseEntity;
import com.lemon.common.core.serializer.JsonLongDeserializer;
import com.lemon.common.core.serializer.JsonLongSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 包名称：com.lemon.system.domain
 * 类名称：BiElements
 * 类描述：要素信息对象 bi_elements
 * 创建人：@author huangpeng
 * 创建时间：2023-03-12
 */
public class BiElements extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @JsonSerialize(using = JsonLongSerializer.class)
    @JsonDeserialize(using = JsonLongDeserializer.class)
    private Long id;

    /** 业务编码 */
    @Excel(name = "业务编码")
    private String businessCode;

    /** 要素编码 */
    @Excel(name = "要素编码")
    private String elementCode;

    /** 要素值 */
    @Excel(name = "要素值")
    private String elementValue;

    /** 功能代码 */
    @Excel(name = "功能代码")
    private String functionCode;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }
    public void setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
    }

    public String getBusinessCode() {
        return businessCode;
    }
    public void setElementCode(String elementCode) {
        this.elementCode = elementCode;
    }

    public String getElementCode() {
        return elementCode;
    }
    public void setElementValue(String elementValue) {
        this.elementValue = elementValue;
    }

    public String getElementValue() {
        return elementValue;
    }
    public void setFunctionCode(String functionCode) {
        this.functionCode = functionCode;
    }

    public String getFunctionCode() {
        return functionCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessCode", getBusinessCode())
            .append("elementCode", getElementCode())
            .append("elementValue", getElementValue())
            .append("functionCode", getFunctionCode())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
